package com.example.fina2202.day09;

public class Test {
    public static void main(String[] args) {
        int[] ary = new int[200000];
        for (int i=0;i<ary.length;i++){
            ary[i] = (int)(Math.random()*500000);
        }


        //获取当前时间
        long t1 = System.currentTimeMillis();

        //冒泡排序
        for (int i=0;i<ary.length-1;i++){
            for (int j=0;j<ary.length-1-i;j++){
                if (ary[j]>ary[j+1]){
                    int tmp = ary[j];
                    ary[j] = ary[j+1];
                    ary[j+1] = tmp;
                }
            }
        }

        //选择排序,i表示对哪个位置求最小值
//        for (int i=0;i<ary.length-1;i++){
//            int min = i;
//            //j表示从当前i位的后一位开始进行遍历
//            for (int j=i+1;j<ary.length;j++){
//                if (ary[j]<ary[min])
//                    min = j;
//            }
//            //将min位上的元素和i位上的元素进行交换
//            int tmp = ary[i];
//            ary[i] = ary[min];
//            ary[min] = tmp;
//        }

        //插入排序,i表示对未排序部分元素遍历
//        for (int i=1;i<ary.length;i++){
//            //j表示插入元素的实时下标
//            for (int j=i;j>0 && ary[j]<ary[j-1];j--){
//                int tmp = ary[j];
//                ary[j] = ary[j-1];
//                ary[j-1] = tmp;
//            }
//        }


        //再次获取当前时间
        long t2 = System.currentTimeMillis();
        System.out.println("耗时:"+(t2-t1)+"毫秒");
    }
}
